With real-time systems, a distinction is made between “hard” and “soft” real-time systems. Hard real-time systems guarantee and supply a correct result within a predefined, maximum response time.
This results in high requirements, in terms of real-time capability, being put on the basis of the system, for example on the operating system.
This necessitates the use of special real-time operating systems, for example. Known representatives are, e.g., OSEK, an abbreviation for “Offene Systeme und deren Schnittstellen für die Elektronik in Kraftfahrzeuge” [in English: “Open Systems and their Interfaces for the Electronics in Motor Vehicles”], or respectively OSEK-OS is a specification for real-time operating systems for embedded systems, which has been adopted by the OSEK Consortium.
QNX—a proprietary POSIX-enabled Unix-like real-time operating system—or vxWorks—likewise a real-time capable operating system can additionally be used as the real-time operating system.
By contrast, a soft real-time system achieves on average an acceptable response time, but cannot guarantee this for every case. However, this also results in significantly reduced demands being placed on the operating system, and makes the use of widespread systems such as Linux or even Windows possible.
Compared with hard real-time operating systems, soft real-time systems offer, as a general rule, more extensive APIs and e.g. better support of libraries or abstraction standards such as, e.g., OpenCV, Eigen, OpenGL, and OpenCL.
This makes it possible to develop algorithms and framework software more efficiently and more rapidly. Current uses include, e.g., research projects for rapid prototyping.
Driver assistance systems or “Advanced Driver Assistance Systems”, abbreviated to ADAS, are additional electronic devices in motor vehicles for assisting the driver in certain driving situations.
Today's ADAS systems are, as a general rule, constructed as hard real-time systems. This is necessary when constructing systems such as, e.g., an emergency brake assist, in order to guarantee that it will still be possible to react to changes that occur in the driving situation in good time, i.e., within the system limits.